package com.example.model.response;

/**
 * 统一响应规范类
 */

import com.example.enums.ErrorCode;
import lombok.Data;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
public class RestResponse<T> {
    /**
     * 请求结果代码
     */
    private Integer errorCode;
    /**
     * 请求结果描述
     */
    private String description;
    /**
     * 数据
     */
    private T data;
    /**
     * 返回数据的大小
     */
    private int dataSize;
    /**
     * 附加属性
     */
    private Object extra;
    /**
     * 调用是否成功,true表示成功,false表示失败
     */
    private Boolean success;

    public RestResponse<T> setErrorCode(Integer errorCode) {
        this.errorCode = errorCode;
        this.success = ErrorCode.SUCCESS.getCode().equals(errorCode);
        return this;
    }
}
